CLOPS: A DSL for Command Line Options

نویسندگان

  • Mikolás Janota
  • Fintan Fairmichael
  • Viliam Holub
  • Radu Grigore
  • Julien Charles
  • Dermot Cochran
  • Joseph Kiniry
چکیده

Programmers often write custom parsers for the command line input of their programs. They do so, in part, because they believe that both their program’s parameterization and their option formats are simple. But as the program evolves, so does the parameterization and the available options. Gradually, option parsing, data structure complexity, and maintenance of related program documentation becomes unwieldy. This article introduces a novel DSL called CLOPS that lets a programmer specify command line options and their complex inter-dependencies in a declarative fashion. The DSL is supported by a tool that generates the following features to support command line option processing: (1) data structures to represent option values, (2) a command line parser that performs validity checks, and (3) command line documentation. We have exercised CLOPS by specifying the options of a small set of programs like ls, gzip, and svn which have complex command line interfaces. These examples are provided with the Open Source release of the

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Towards Interactive, Incremental Programming of ROS Nodes

Writing software for controlling robots is a complex task, usually demanding command of many programming languages and requiring significant experimentation. We believe that a bottom-up development process that complements traditional componentand MDSD-based approaches can facilitate experimentation. We propose the use of an internal DSL providing both a tool to interactively create ROS nodes a...

متن کامل

A DSL toolkit for deferring architectural decisions in DSL-based software design

A number of mature toolkits and language workbenches for DSL-based design have been proposed, making DSL-based design attractive for many projects. These toolkits preselect many architectural decision options. However, in many cases it would be beneficial for DSL-based design to decide for the DSL’s architecture later on in a DSL project, once the requirements and the domain have been sufficien...

متن کامل

Management of a DSL copper network using built-in loop qualification tools

This master’s degree thesis project has been performed at the department for Access Signal Processing (ASP) at Ericsson AB in Älvsjö. Among other things this department does research concerning DSL (Digital Subscriber Line) technology. DSL provides fast data transfer over ordinary telephone lines. The advantage of using telephone lines is that almost all premises in developed parts of the world...

متن کامل

FSATS: an Extensible Fire Support Simulator1

This is a case study in the use of product-line architectures (PLAs) and domain-specific languages (DSLs) to design an extensible command-and-control simulator for Army fire support. The reusable components of our PLA are layers or “aspects” whose addition or removal simultaneously impacts the source code of multiple objects and multiple, distributed programs. The complexity of our component sp...

متن کامل

Introducing Usability Concerns Early in the DSL Development Cycle: FlowSL Experience Report

Domain-Specific Languages (DSLs) developers aim to narrow the gap between the level of abstraction used by domain users and the one provided by the DSL, in order to help taming the increased complexity of computer systems and real-world problems. The quality in use of a DSL is essential for its successful adoption. We illustrate how a usability evaluation process can be weaved into the developm...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009